1. Field of the Invention
The present invention relates to a method, system, and article of manufacture for developing software components and capability testing procedures for testing coded software component.
2. Description of the Related Art
An integrated development environment (IDE), also known as an integrated design environment and integrated debugging environment, comprises a computer program or development tool that assists computer programmers in developing software. IDEs normally consist of a source code editor, a compiler and/or interpreter, build-automation tools, and (usually) a debugger. Sometimes a version control system and various tools to simplify the construction of a GUI are integrated as well.
During program development, developers of program components, comprising the functions that perform and implement the product operations defined during a high level design phase, may develop tools and other programs to test the components they are developing. Different developers working on different components may separately develop different test programs to test their components. Component developers often develop unit tests that test their specific functions without considering the effects of their component operations on other components. For instance, in the “extreme programming” paradigm, component developers test their components while coding the component. Each component developer may create different test modules. In many situations, component developers do not leverage the testing efforts of others.
Other software development techniques include the use of unit test tools, such as Jtest®, C++ test, Ctest. (Jtest is a registered trademark of Parasoft). These unit test tools test individual routines. Traditional unit test methodology performs low level verifications of the code operations, such as interaction with memory, stack, input/output behavior, boundary condition, and exceptions. The Rational Unified Process (IRUP) is an iterative software development process providing an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. The RUP seeks to develop software iteratively, manage requirements, use component-based architecture, visually model software, verify software quality, and control changes to software.
There is a need in the art for improved techniques for developing software and capability testing procedures for testing software components and their interaction.